package cn.bonoon.kernel.web.annotations.form;

import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import cn.bonoon.kernel.annotations.Constant;

/**
 * <pre>
 * 生成详细信息的界面的注解，本注解使用的界面的创建解析器为{@link cn.bonoon.kernel.web.html.form.StandardDetailBuilder DetailBuilderImpl}
 * 
 * 可以使用分组指定{@link cn.bonoon.kernel.web.annotations.form.FormGroup @FormGroup}
 * 
 * 可以追加帮助说明{@link cn.bonoon.kernel.web.annotations.form.FormHelper @FormHelper}
 * <font color='red'>
 * 详细内容明细项的指定使用{@link PropertyDetail}，而且只有指定了才会生成界面
 * </font>
 * 可以使用{@link cn.bonoon.kernel.web.annotations.components.AsTabs AsTabs}来把界面生成tabs样式
 * <hr/>
 * 可以追加没有在实体定义(即类所定义的字段)的可以通过{@link InsertCells}或{@link InsertCell}追加进来
 * 
 * 可以使用自动转值，参考{@link cn.bonoon.kernel.annotations.Transform Transform}
 * 使用自动转值时，特别要注意{@link cn.bonoon.kernel.annotations.Transform Transform}中的注意事项
 * </pre>
 * @author jackson
 *
 */
@Target(TYPE)
@Retention(RUNTIME)
public @interface FormDetail {
	/**
	 * 0表示没有定义，使用其它的地方的定义
	 * @return
	 */
	int value() default 0;

	int headWidth() default Constant.DEFAULT_HEAD_WIDTH;

	/**
	 * 对应的内容项的宽度
	 * @return
	 */
	int width() default Constant.DEFAULT_WIDTH;
	
	String formStyleClass() default "";
	
	/**
	 * 
	 * @return
	 */
	boolean autoIgnore() default false;
}
